#include <stdio.h>

typedef enum _enum
{
	aa,
	ab,
	ac,
	ad,
	ae,
	af,
	ag,
}em;

int main()
{
 /*8048500:	55                   	push   %ebp
 8048501:	89 e5                	mov    %esp,%ebp
 8048503:	83 e4 f0             	and    $0xfffffff0,%esp
 8048506:	83 ec 20             	sub    $0x20,%esp
 8048509:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
 8048510:	00 */
	em a = aa;

 /*8048511:	8b 44 24 1c          	mov    0x1c(%esp),%eax
 8048515:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048519:	c7 04 24 a4 86 04 08 	movl   $0x80486a4,(%esp)
 8048520:	e8 8b fe ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", a);

 /*8048525:	c7 44 24 1c 05 00 00 	movl   $0x5,0x1c(%esp)
 804852c:	00 */
	a = af;

 /*804852d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
 8048531:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048535:	c7 04 24 a4 86 04 08 	movl   $0x80486a4,(%esp)
 804853c:	e8 6f fe ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", a);

 /*8048541:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
 8048548:	00 */
	int b = 0x0;

 /*8048549:	8b 44 24 18          	mov    0x18(%esp),%eax
 804854d:	89 44 24 04          	mov    %eax,0x4(%esp)
 8048551:	c7 04 24 a4 86 04 08 	movl   $0x80486a4,(%esp)
 8048558:	e8 53 fe ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", b);

 /*804855d:	c7 44 24 14 04 00 00 	movl   $0x4,0x14(%esp)
 8048564:	00 */
	int c = 0x4;

 /*8048565:	8b 44 24 14          	mov    0x14(%esp),%eax
 8048569:	89 44 24 04          	mov    %eax,0x4(%esp)
 804856d:	c7 04 24 a8 86 04 08 	movl   $0x80486a8,(%esp)
 8048574:	e8 37 fe ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", c);

 /*8048579:	c7 44 24 04 02 00 00 	movl   $0x2,0x4(%esp)
 8048580:	00 
 8048581:	c7 04 24 b0 86 04 08 	movl   $0x80486b0,(%esp)
 8048588:	e8 23 fe ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", 2);

 /*804858d:	c7 44 24 04 04 00 00 	movl   $0x4,0x4(%esp)
 8048594:	00 
 8048595:	c7 04 24 c2 86 04 08 	movl   $0x80486c2,(%esp)
 804859c:	e8 0f fe ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", 4);

 /*80485a1:	c7 44 24 04 04 00 00 	movl   $0x4,0x4(%esp)
 80485a8:	00 
 80485a9:	c7 04 24 d3 86 04 08 	movl   $0x80486d3,(%esp)
 80485b0:	e8 fb fd ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", 4);

 /*80485b5:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
 80485bc:	00 
 80485bd:	c7 04 24 ea 86 04 08 	movl   $0x80486ea,(%esp)
 80485c4:	e8 e7 fd ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", 0);

 /*80485c9:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
 80485d0:	00 
 80485d1:	c7 04 24 ea 86 04 08 	movl   $0x80486ea,(%esp)
 80485d8:	e8 d3 fd ff ff       	call   80483b0 <printf@plt>*/
	printf("%d\n", 0);

 /*80485dd:	83 7c 24 1c 05       	cmpl   $0x5,0x1c(%esp)
 80485e2:	77 1f                	ja     8048603 <main+0x103>
 80485e4:	8b 44 24 1c          	mov    0x1c(%esp),%eax	// eax = 5
 80485e8:	c1 e0 02             	shl    $0x2,%eax		// eax = 5<<2 = 20
 80485eb:	05 08 87 04 08       	add    $0x8048708,%eax	// eax = 0x8048708+0x14 = 0x804871C
															// 0x804871c:	0x080485f4
															// 0x80485f4:	0xfd2404c7
 80485f0:	8b 00                	mov    (%eax),%eax		// eax= 0x080485f4
 80485f2:	ff e0                	jmp    *%eax			// *%eax=0xfd2404c7
 80485f4:	c7 04 24 fd 86 04 08 	movl   $0x80486fd,(%esp)	// 0x80486fd:	"sssssssss"
 80485fb:	e8 c0 fd ff ff       	call   80483c0 <puts@plt>
 8048600:	eb 01                	jmp    8048603 <main+0x103>
 8048602:	90                   	nop
 8048603:	b8 00 00 00 00       	mov    $0x0,%eax*/
	switch (a) {
		case aa:break;
		case ab:break;
case ac:break;
case ad:break;
case ae:break;
		case af:
			puts("enum");
			break;
	} 

 /*8048608:	c9                   	leave  
 8048609:	c3                   	ret    
 804860a:	66 90                	xchg   %ax,%ax
 804860c:	66 90                	xchg   %ax,%ax
 804860e:	66 90                	xchg   %ax,%ax*/
	return 0;
}


